Electronic design automation (EDA) tools are used to design integrated circuits. Integrated circuits can include many thousands and perhaps millions of circuit elements (e.g., transistors, logic gates, diodes) and interconnecting wires and busses. The circuit elements and wires can be formed on many different layers, with various interconnections (e.g., vias) between layers. EDA tools allow a designer to describe an integrated circuit based on its desired behavior, and then transform that behavioral description into a set of geometric shapes called a layout which forms the circuit elements and wires for all the different layers.